Computing applications operate based on software applications that are developed as source code. Source code can be compiled into byte code in order to support executing or running the application. Byte code can often be obfuscated to protect the confidentiality of the source code, amongst other reasons. For example, name obfuscation, string encryption, and code and data flow encryption, sometimes dynamically, can be applied to source code to protect the source code from being reverse engineered. Reverse engineering techniques, on the other hand, can be implemented to provide better understanding of source code even in situations where the source code has been obfuscated.